Tomáš Pospíšek's Notizblock

mod_cluster

Ich wurde eingeladen an einem Vortrag der Obergurus von und über mod_cluster zuzuhören. Kurioserweise fand ich das, anderst als viele Geek Freunde, aber uninteressant.

Ich war überrascht, weshalb dem nun so sei. Daraus entstand folgendes Mail:

...

Während der letzten Paar Tage war ein nice idle Thread in meinem Hirn gescheduled, welcher diese Thematik durchmühlte.

Den Ausschlag, dass mir der 20er fiel, gab, dass ich mich wieder einmal mit Debian-Exim4's absurd komplexer Konfiguration befassen musste.

Der zentrale Punkt daraus:

The reason I dropped sendmail 15 years ago was that the configuration was way more complex than learning a new computer language. Exim4 has got to the exact same point by now: Debian’s variant of Exim4 has dozens of interdependent config files, partially created from templates and being rebuild by generators with half-standardized variables etc. It’s a pain. Maybe I should have upgraded to postfix from exim3 instead.

Evidently the Mail community needs a variation of Greenspun’s Tenth Rule Of Programming:

“Any sufficiently advanced MTA program contains an ad-hoc, informally-specified reimplementation of sendmail’s configuration system”

Beim mod_cluster Themenbereicht ist die Situation nach meinem Gefühl gleich.

Jedes Mal, wenn ich was an unserer Webserving Konfig ändern muss, wenn ich ein Ruby oder Mongrel oder Apache oder Nginx Upgrade machen muss, dann hab ich dieses flaue Gefühl im Magen, bzw. einfach Angst, dass dieser Mikado-Haufen zusammenfällt.

Es macht mich nicht an, ich habe keine Freude dran. Das System ist unübersichtlich, undurchsichtig komplex und labil:

Und dabei gab mir schon nur Apache's Konfiguration, ohne all die anderen Komponenten früher schon dieses schlechte Gefühl und hatte diese meiner Meinung nach schlechten Eigenschaften (komplex, labil, interdependent, schlecht debugbar, trial&error).

Der Bauch sagt mir: flieh!

Und nun also der nächste Schritt - das ganze soll, womöglich regelbasiert, mittels Regeln, die nota-bene z.B. in Java Sourcecode implementiert sind und somit nicht zu Laufzeit in Cleartext sichtbar oder änderbar sind, zu Laufzeit dynamisch umkonfiguriert werden.

WS-Deathstar. Das ist die falsche Richtung. In this direction lies doom and desperation. IMHO.

Ich kann verstehen, dass Kompexität per se, als l'art pour l'art fasziniert, zumindest für meinen Magen ist das Gesammtsystem jetzt schon von angsteinflössender Komplexität. Für mich wäre also die andere Richtung interessant -> das ganze System einfacher zu machen:

?

Lösung: Unit Testing für System Administration? Da war doch Mal so ein Projekt dafür?

Tomáš Pospíšek, 2009-03-02

Articles